1. Field of the Invention
The present invention generally relates to management of a system load level.
2. Background
Computer systems, such as corporate datacenters, often include a plurality of servers that have applications executing thereon. The servers commonly operate at a relatively low efficiency. For example, some servers may have loads of 10-30%. Virtualization may be used to improve the efficiency by allocating virtual machines to the servers, but each server may still have a load of 10-30% if the allocated virtual machine(s) is not busy. Moreover, the demands of the applications vary over time, causing fluctuations in the loads of the servers.
Although it is often desirable to operate a server at a relatively high efficiency, it may be beneficial to run the server at relatively lower efficiency to accommodate potential increases in demand by the applications. If the efficiency of a server is set too high, the server may not be capable of accommodating an increased demand of the applications. For instance, a failure to accommodate for the increased demand may cause the server to become non-responsive to some requests made by the applications. On the other hand, if the efficiency of the server is set too low, the server may operate less inefficiently than necessary to accommodate the increased demand of the applications.
One proposed technique for managing the load level of a server is to transfer an application's demand to another server to reduce the load of the server from which the demand is transferred. However, this proposed technique may require substantial time and effort. For instance, a search may be necessary to find a server having sufficient resources available to accommodate the demand of the application. Once such a server is found, processes may be employed to transfer the demand, and so on.